generate-git-snapshot: explicitly set git-export-dir when building with enabled overlay option #231
+7
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If debian/gbp.conf contains something like:
| [buildpackage]
| overlay = True
| export-dir = ../build-area
then invoking gbp with our default $GBP_OPTS then it will fail with:
| gbp:error: Overlay must be used with --git-export-dir.
To avoid running into this, let's check for the overlay option,
and if it's enabled then explicitly set --git-export-dir= to '--git-export-dir=../'
to generate the orig.tar.* files at the expected place.
JFTR, we are not setting --git-export-dir=../ by default, as this
involves some further operations going on, which might be unexpected
in existing installations where the overlay feature isn't present/enabled.
See e.g.:
| % gbp buildpackage -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir=
| gbp:debug: ['git', 'rev-parse', '--show-cdup']
| gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
| gbp:debug: /bin/true [] []
| gbp:debug: ['git', 'symbolic-ref', 'HEAD']
| gbp:debug: ['git', 'show-ref', 'refs/heads/debian']
| gbp:debug: ['git', 'show-ref', 'refs/heads/pristine-tar']
| gbp:debug: ['git', 'ls-tree', 'upstream/5.8']
| gbp:info: zsh_5.8.orig.tar.gz does not exist, creating from 'upstream/5.8'
| gbp:debug: Building upstream tarball with compression 'gzip -9'
| gbp:debug: /bin/true ['-nc', '-S', '-us', '-uc'] []
vs:
| % gbp buildpackage -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir=../
| gbp:debug: ['git', 'rev-parse', '--show-cdup']
| gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
| gbp:debug: /bin/true [] []
| gbp:debug: ['git', 'symbolic-ref', 'HEAD']
| gbp:debug: ['git', 'show-ref', 'refs/heads/debian']
| gbp:debug: ['git', 'ls-tree', 'HEAD']
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/changelog']
| gbp:debug: ['git', 'show-ref', 'refs/heads/pristine-tar']
| gbp:debug: ['git', 'ls-tree', 'upstream/5.8']
| gbp:info: zsh_5.8.orig.tar.gz does not exist, creating from 'upstream/5.8'
| gbp:debug: Building upstream tarball with compression 'gzip -9'
| gbp:info: Exporting 'HEAD' to '/home/buildd/zsh-tmp'
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
| gbp:info: Moving '/home/buildd/zsh-tmp' to '/home/buildd/zsh-5.8'
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
| gbp:debug: /bin/true ['-nc', '-S', '-us', '-uc'] []
| gbp:debug: rm ['-rf', '/home/buildd/zsh-5.8'] []
Thanks: Guido Günther for feedback
Closes: #230